
/**
 * 声明全局变量
 */

#ifdef GLOBAL_VARIABLES_HERE
#undef EXTERN
#define EXTERN
#endif

EXTERN int            disp_pos;

PUBLIC u8           gdt_ptr[6];     // 0~15:Limit   16~47:Base
PUBLIC struct descriptor   gdt[GDT_SIZE];

EXTERN u8           idt_ptr[6];     // 0~15:Limit   16~47:Base
EXTERN struct gate         idt[IDT_SIZE];

EXTERN struct tss          tss;
EXTERN struct proc*     p_proc_ready; // 当前执行的进程指针

extern struct proc      proc_table[];
extern char         task_stack[];

EXTERN u32          k_reenter; // 判断是否中断嵌套的全局变量

extern struct task         task_table[]; // 管理每个任务
extern struct task         user_proc_table[]; // 管理每个用户进程

extern irq_handler irq_table[];

EXTERN int nr_current_console; // 当前控制台编号

EXTERN int ticks;

extern	TTY		tty_table[];
extern  CONSOLE         console_table[];

EXTERN int total;

/* FS */
extern	struct dev_drv_map	dd_map[];

